Format Changes History <author> Tom Gordon <sect>Version 1.1 (September, 1991) <enum> <item> nroff/troff support added. See the man page for format. <item> Modified set of character and symbol entities to be the intersection of TeX and PostScript and Latin 1. There are now many more entities as a result, but a few math entities have been deleted. They may still be generated using the x element. <item> Fixed the appendix element. <item> Tabulars may now be used alone, anywhere a paragraph is allowed, and not merely within tables. Tabulars, when used alone, remain in the same location in the formatted text as in the SGML source. Tables, on the other hand, are floating elements, like figures. Also, tables, but not tabulars, may have a caption. <item> Added a "notes" top-level element. Simple document style consisting of an optional title followed by a sequence of section paragraphs. No footnotes. <item> ref, pageref, cite and ncite are now all inline elements. They can be used anywhere f, x, em, it, ... can be used, and not just inside of paragraphs. For example, a tag of a descrip element can now include a cite. <item> Changed name of latex DTD to qwertz to avoid confusion with LaTeX. This is upwardsly compatible so long as documents did not use latex tags explicitly. (The latex start and end tags were optional.) <item> There is no longer a manpage DTD. Instead, there is a new manpage top-level element in the qwertz DTD. Use the format command to process manpages, just as with other document types. There is a "man" translation for nroff man macros. It could be used like this: <verb> format -T man ls.sgml | nroff -man | more </verb> <item> The syntax of the article, report and book elements has been changed to allow a sequence of section paragraphs (i.e. %sectpar elements) to precede any sections (or chapters). This is useful for short documents, for which no sections are desired, or for a preface. <item> As format now includes a translation into nroff/troff, as well as TeX, the TeX specific parts of the format command have been factored out and put into a new command, qtex. See the format and qtex man pages. To print a qwertz document containing bibliography references, using LaTeX, now type: <verb> format foo | qtex -b | lpr </verb> <item> The letter element has been changed so as to make it easier to generate electronic messages, as well as print ordinary letters. The cc field has been moved from after the closing to just after the from field. The name field has been replaced by pcdata. The address field is now optional. Both the (street) address and email fields are now optional. It is the users responsibility to include at least one of them, where appropriate. (We haven't required at least one of these to be stated, as no address is required for the sender when using office stationary.) See the manual for details. The examples have been fixed to use the new format. </enum> <sect> Version 1.2 (December, 1991) <enum> <item> Jim Clark's SGMLS parser is now used, instead of ASP. SGMLS implements more of the SGML standard than ASP. In particular, it supports the subdoc feature. It also appears to have fewer bugs. All of the shortref characters of the reference syntax are supported. Pre- and post-processing with sed scripts, required to get around this ASP bug, is no longer necessary. Also, as DTD's do not need to be compiled by SGMLS, it is now possible to include different versions of files containing system data entities (for non-ascii characters and symbols), in the qwertz DTD, one for each formatter, without having to maintain multiple versions of the DTD, and without having to resort to post-processing using sed scripts, as in the past. <item> As blank lines can now be used as short references, the DTD has been modified to make the explicit use of paragraph start and end tags almost completely superfluous. In particular, it is no longer necessary to type the <tt/p/ tag after the <tt/item/ tag of a list. The change is upwardsly compatible. The examples in the manual have been changed accordingly. One of the few places where a <tt/p/ tag is required, is for the first paragraph appearing before the first section of an article, or chapter of a book. There may be some way to modify the DTD to avoid this. <item> The various kinds of "paragraphs", such as lists, literate programming paragraphs, tables, and figures, must all now be within a <tt/p/ element. However, due to minimization, the <tt/p/ start and end tags almost never need to be typed explictly, as mentioned above. Further, these other types of "paragraphs" can now be embedded within the text of an ordinary paragraph. A new paragraph is started, implicitly, by a blank line, as in TeX. To embed one of these other elements, such as a segment of code, just be sure not to leave a blank line before or after the code tags. For example: <verb> <p>Here is some code embedded within a paragraph: <code> main() { printf ("hello world\n"); } &etago;code> This is the continuation of the same paragraph. And this is a new paragraph. </verb> <item>There is no longer an include option in the format command. You can easily include files using SGML file or subdoc entities. <item>Nor is there the <tt/-n/ option, for declaring that the document does not contain formulas. Users tended to forget this option (I certainly did), as was only necessary when using one of the <tt/nroff/ formatters. Instead, there is now a <tt/qroff/ command, which is a front-end to <tt/groff/. It is especially suitable for use in conjunction with format. See the manual page for details. <item> In the mapping into TeX, qwertz specific macros are no longer added to the head of each file. Rather, these are contained in a qwertz.sty file, which referenced in the list of document options. The disadvantage of this is that you must remember to send this file along with your LaTeX document, when sending someone the LaTeX version of your file. Alternatively, you can also paste these (few) macros into the beginning of the TeX version of your document, and remove the reference to the qwertz sty file. The advantage of this new approach is that chapters of a book or report can be maintained in separate files, and included in the complete document using the SGML subdoc feature. With the previous approach, TeX complained that the macros where redefined, at each point where the subdocument was inserted into the main document. The problem of printing single chapters remains. <item>Each document must now include an SGML doctype declaration, at the beginning, such as: <verb> <!doctype qwertz system> </verb> If you define any document specific entities, they are placed between &lsqb and &rsqb brackets, as follows: <verb> <!doctype qwertz system [ <!entity foo sdata "\foo"> <!entity bar sdata "\bar> ]> </verb> This is all just standard SGML, but was not properly handled by ASP. (<tt/biblio/ documents should be declared analogously.) Author/Editor generates such headers, which I used to have to filter out of the document before processing it using ASP. This should no longer be necessary. <item> The procedure for creating your own formats has changed slightly. Mapping files in ASP format may still be used, thanks to James Clark. However, the translation of character entities is now controlled by SGML files containing system data definitions, rather than sed scripts. See the manual page for format for details. <item> The <tt/stitle/ and <tt/ntitle/ tags, for the titles of slides and notes, have been eliminated. Use the <tt/title/ tag instead. Although this change is not upwardsly compatible, it is a minor change in the interest of conceptual clarity. There is now only one element for titles, instead of three. <item> Added a <tt/fax/ document style, comparable to the letter style, for Telefax messages. There is an attribute for providing the number of pages of the fax, including the cover page. I assumed that most fax messages are one page long, not including the cover page, so the default value of this attribute is 2. <item> There is also a <tt/fax/ Unix command, to be used in a pipe. If there is a fax message named "foo", the command could be used as follows: <verb> $ format foo | qtex | fax </verb> See the manual page entry for further details. <item> The <tt/biblio/ DTD has been extended to allow emphasis, using as <tt/em/, <tt/bf/ and so on, within most fields. </enum> <sect> Version 1.3 (February, 1992) <enum> <item> The <tt/biblio/ DTD has been modified so as to allow the fields of entries to be entered in any order, using SGML "and" groups. This is an upwards compatible change. It makes it much easier to translate existing BibTeX bibliographies into SGML. <item> A <tt/-c/ option has been added to <tt/qtex/ for processing single chapters or sections with &LaTeX generated by <tt/format/. The problem with cross reference between chapters of a report or book stored in separate files has also been solved. <tt/sgmls/ warns issues a warning, rather than terminating. <item> The translation of slides into LaTeX no longer uses SliTeX. Instead, the LaTeX article style is used, with a larger point size. This makes it possible to include anything on a slide that can be included in a paragraph of an article. <item> An optional <tt/date/ element has been added to title pages. Oddly, it is usually used to suppress the printing of a date, by adding an empty date element. By default, when no date element is used, today's date is printed. This conforms to the &LaTeX convention. <item> The <tt/table/ and <tt/figure/ elements now have a <tt/loc/ attribute, for declaring allowed locations: here (<tt/h/), top (<tt/t/), bottom (<tt/b/), or on a separate page (<tt/p/). This should be used in figures and tables on slides, to keep them from floating. <item> There is a new type of list, called simply <tt/list/. The items have no label. This is useful for fancy formatting of computer code, for example. Key words can be bold face. There can be mathematical expressions in boolean tests, and so on. <item> Added an -l option to qroff, to generate latin1. As the "col -b" filter for removing backspaces also filters out non-ASCII characters, backspaces (used by groff for bold formatting) are not filtered out when this option is chosen. <item> Added an -r <replacement file> option to the format command. Replacements in the default replacement file can be overridden using this mechanism. Only the replacements for the start or end tags which differ from the default need to be specified in this file. </enum> </article>